package com.kylin.system.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson2.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.kylin.common.core.entity.DataEntity;
import lombok.Data;

import java.util.Date;

/**
 * 操作日志记录表 oper_log
 * 
 * @author wuhao
 * @version 1.0 at 2019-11-12
 */
@Data
public class SysOperLog extends DataEntity<SysOperLog>
{
    /** 日志主键 */
    @TableId(type= IdType.AUTO)
    private Long id;

    /** 操作模块 */
    @Excel(name = "操作模块")
    private String title;

    /** 业务类型（0其它 1新增 2修改 3删除） */
    @Excel(name = "业务类型")
    private Integer businessType;

    /** 业务类型数组 */
    @TableField(exist = false)
    private Integer[] businessTypes;

    /** 请求方法 */
    @Excel(name = "请求方法", width = 30)
    private String method;

    /** 请求方式 */
    @Excel(name = "请求方式")
    private String requestMethod;

    /** 操作类别（0其它 1后台用户 2手机端用户） */
    @Excel(name = "操作类别", dict = "sys_oper_type")
    private Integer operatorType;

    /** 操作人员 */
    @Excel(name = "操作人员")
    private String operName;

    /** 部门名称 */
    @Excel(name = "部门名称", width = 15)
    private String deptName;

    /** 请求url */
    @Excel(name = "请求地址", width = 30)
    private String operUrl;

    /** 操作地址 */
    @Excel(name = "操作地址")
    private String operIp;

    /** 请求参数 */
    @Excel(name = "请求参数", width = 30)
    private String operParam;

    /** 返回参数 */
    @Excel(name = "返回参数", width = 30)
    private String jsonResult;

    /** 操作状态（0正常 1异常） */
    @Excel(name = "状态", dict = "sys_normal_disable")
    private int operStatus;

    /** 错误消息 */
    @Excel(name = "错误消息", width = 20)
    private String errorMsg;

    /** 操作时间 */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, format = "yyyy-MM-dd HH:mm:ss")
    private Date operTime;

}
